<?php
// 后台用户模块
class UserAction extends BaseAction {
	function _filter(&$map){
		  $map['id'] = array('egt',2);
		$map['account'] = array('like',"%".$_POST['account']."%");
	}
	// 检查帐号
	public function checkAccount() {
        if(!preg_match('/^[a-z]\w{4,}$/i',$_POST['account'])) {
            $this->error( '用户名必须是字母，且5位以上！');
        }
		$User = M("User");
        // 检测用户名是否冲突
        $name  =  $_REQUEST['account'];
        $result  =  $User->getByAccount($name);
        if($result) {
        	$this->error('该用户名已经存在！');
        }else {
           	$this->success('该用户名可以使用！');
        }
    }

	// 插入数据
	public function insert() {
		// 创建数据对象
		$User	 =	 D("User");
		if(!$User->create()) {
			$this->error($User->getError());
		}else{
			// 写入帐号数据
			if($result	 =	 $User->add()) {
				$this->addRole($result);
				$this->success('用户添加成功！');
			}else{
				$this->error('用户添加失败！');
			}
		}
	}

	protected function addRole($userId) {
		//新增用户自动加入相应权限组
		$RoleUser = M("RoleUser");
		$RoleUser->user_id	=	$userId;
        // 默认加入网站编辑组
        $RoleUser->role_id	=	3;
		$RoleUser->add();
	}

    //重置密码
    public function resetPwd()
    {
    	$id  =  $_POST['id'];
        $password = $_POST['password'];
        if(''== trim($password)) {
        	$this->error('密码不能为空！');
        }
        $User = M('User');
		$User->password	=	md5($password);
		$User->id			=	$id;
		$result	=	$User->save();
        if(false !== $result) {
            $this->success("密码修改成功！");
        }else {
        	$this->error('重置密码失败！');
        }
    }

    /**
      * 	从微信通讯录选择用户信息映射到系统用户
      *
      */
    public function selectUserFromWx() {
    	import('@.Utils.qywechat');
    	$options = array(
		  'token'=>C('wx_token'), //填写应用接口的Token
		  'encodingaeskey'=>C('wx_encodingaeskey'), //填写加密用的EncodingAESKey
		  'appid'=>C('wx_appid'), //填写高级调用功能的app id
		  'appsecret'=>C('wx_appsecret'), //填写高级调用功能的密钥
		  'agentid'=>'1', //应用的id
		  'debug'=>false, //调试开关
		  '_logcallback'=>'logg', //调试输出方法，需要有一个string类型的参数
		);
		$weObj = new Wechat($options); //创建实例对象

		
		$list = $weObj->getDepartment();
		// var_dump($list);
		$this->assign('list',$list['department']);
		$this->assign('total',count($list['department']));

		$act = $_REQUEST['act'];
    	if($act == 'getMember') {
    		//点击左侧部门后获取成员的ajax方法
    		$deptId = (int)$_REQUEST['deptId'];
    		$member_list = $weObj->getUserList($deptId,1,0);
    		$this->assign('userlist',$member_list['userlist']);
    		// var_dump($member_list['userlist']);
    		
    	}
    	$this->display();
    }
}
?>